<?php
ob_start();
define('SITE_WEB_DISK_DIR',dirname(__FILE__));
include_once(constant('SITE_WEB_DISK_DIR').'/config/config.enviroment.php');
include_once(constant('SITE_WEB_DISK_DIR').'/config/config.string.php');
include_once(constant('PATH_INCLUDE').'/class.db.php');
include_once(constant('PATH_INCLUDE').'/init_class_load.php');


//define default permisson
if(!defined('NEED_PERMISSION'))
{
	//admin pages
	 if(preg_match('/backstage.*\.php$/',$_SERVER['SCRIPT_NAME']))
	 {
	 	 define('NEED_PERMISSION','ADMIN');
	 }else if(preg_match('/cos\.php$/',$_SERVER['SCRIPT_NAME'])){
	 	 define('NEED_PERMISSION','LOGIN');
	 }else if(preg_match('/add\-cos.*/',$_SERVER['SCRIPT_NAME']) ||
	 	 preg_match('/cos.*\.php$/',$_SERVER['SCRIPT_NAME'])){
	 	 define('NEED_PERMISSION','CSR');
	 }else{
		 define('NEED_PERMISSION','LOGIN');
	 }
}
$allowAccess = false;
$needPermission = constant('NEED_PERMISSION');
switch($needPermission)
{
	case 'LOGIN':
	if(SessionUtil::isExistVar(constant('SESSION_KEY_USER_ID')))
	{
		$allowAccess = true;
	}
	break;
	case 'ADMIN':
	if(SessionUtil::isExistVar(constant('SESSION_KEY_USER_ID')) && SessionUtil::getVar(constant('SESSION_KEY_USER_IS_ADMIN')) == 'Y')
	{
		$allowAccess = true;
	}
	break;
	case 'CSR':
	if(SessionUtil::isExistVar(constant('SESSION_KEY_USER_ID')) && 
	(SessionUtil::getVar(constant('SESSION_KEY_USER_IS_ADMIN')) == 'Y'
	||SessionUtil::getVar(constant('SESSION_KEY_USER_IS_CSR')) == 'Y'))
	{
		$allowAccess = true;
	}
	break;
	case 'PHOTO':
	if(SessionUtil::isExistVar(constant('SESSION_KEY_USER_ID')) && 
	(SessionUtil::getVar(constant('SESSION_KEY_USER_IS_ADMIN')) == 'Y'
	||SessionUtil::getVar(constant('SESSION_KEY_USER_IS_PHOTO')) == 'Y'))
	{
		$allowAccess = true;
	}
	break;
	case 'PRODUCT':
	if(SessionUtil::isExistVar(constant('SESSION_KEY_USER_ID')) && 
	(SessionUtil::getVar(constant('SESSION_KEY_USER_IS_ADMIN')) == 'Y'
	||SessionUtil::getVar(constant('SESSION_KEY_USER_IS_PRODUCT')) == 'Y'))
	{
		$allowAccess = true;
	}
	break;
	case 'CSR_OR_PHOTO':
	if(SessionUtil::isExistVar(constant('SESSION_KEY_USER_ID')) && 
	(SessionUtil::getVar(constant('SESSION_KEY_USER_IS_ADMIN')) == 'Y'
	||SessionUtil::getVar(constant('SESSION_KEY_USER_IS_CSR')) == 'Y' ||
	SessionUtil::getVar(constant('SESSION_KEY_USER_IS_PHOTO')) == 'Y'))
	{
		$allowAccess = true;
	}
	break;
	case 'CSR_OR_PRODUCT':
	if(SessionUtil::isExistVar(constant('SESSION_KEY_USER_ID')) && 
	(SessionUtil::getVar(constant('SESSION_KEY_USER_IS_ADMIN')) == 'Y'
	||SessionUtil::getVar(constant('SESSION_KEY_USER_IS_CSR')) == 'Y' ||
	SessionUtil::getVar(constant('SESSION_KEY_USER_IS_PRODUCT')) == 'Y'))
	{
		$allowAccess = true;
	}
	break;
	case 'NONEEDLOGIN':
		$allowAccess = true;
	break;
}
//check permession
if($allowAccess !== true)
{
	ob_clean();
	header('Location:login.php');
	exit();
}
?>